package xfuzzy.xfghl.view;

import xfuzzy.xfhl.model.spec.XfhlInputType;
import xfuzzy.xfhl.model.spec.XfhlOperSet;

/**
 * Interface con las deficiones necesarias para la vista de la herramienta Xfghl
 * 
 * @author Alberto David Fernandez Fernandez
 * 
 * */

public interface XfghlProperties {

	// Valores por defecto
	public static final String defaultNoMemberFuntion = "3";
	public static final int defaultInType = XfhlInputType.FREE_TRIANGLES;
	public static final int defaultAlgorithm = 0;
	public static final int defaultlimitIterationNumber = 40;
	public static final int defaultAndOperator = XfhlOperSet.AndOperatorMin;
	public static final int defaultDefuzzOperator = XfhlOperSet.DefuzOperatorFuzzyMean;
	public static final String defaultPopulationSize = "45";
	public static final String defaultMutationProbability = "0.10";
	public static final String defaultTournamentSize = "3";
	public static final String defaultScalingFactor = "0.5";
	public static final int defaultStopCondition = 1;
	public static final String defaultStopConditionValue = "400";
	
	// Estilo de salida
	public static final String freeTrianglesString = "Free Triangles";
	public static final String bSplinesFamilyString = "B Splines Family";
	public static final String freeGaussiansString = "Free Gaussians";
	public static final String freeShoulderedTrianglesString = "Free Shouldered Triangles";
	public static final String shoulderedTrianglesFamilyString = "Shouldered Triangles Family";
	public static final String triangularFamilyString = "Triangular Family";
	
	// Algoritmo de ajuste
	public static final int RProbAlgorithm = 0;
	public static final int MardquardtLevenbergAlgorithm = 1;
	public static final String RProbAlgorithmString = "RProb";
	public static final String MardquardtLevenbergAlgorithmString = "Mardquardt Levenberg";
	
	// Operador AND
	public static final String AndOperatorMinString = "AND Operator Minimum";
	public static final String AndOperatorProdString = "AND Operator Product";
	
	// Operador Defuz
	public static final String DefuzOperatorFuzzyMeanString = "Fuzzy Mean";
	public static final String DefuzOperatorWeightedFuzzyMeanString = "Weighted Fuzzy Mean";

	// Condicion de parada algoritmo genetico
	public static String stopConditionIterationsString = "Iterations";
	public static String stopConditionEvaluationsString = "Evaluations";
	public static String stopConditionNoImprovementsString = "No improvements";
	public static int stopConditionIterationsValue = 0;
	public static int stopConditionEvaluationsValue = 1;
	public static int stopConditionNoImprovementsValue = 2;
}
